`:top
`!JavaFX Script`! was a `F33f`_`[scripting language`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Scripting_language]`_`f designed by `F33f`_`[Sun Microsystems`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Sun_Microsystems]`_`f, forming part of the `F33f`_`[JavaFX`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaFX]`_`f family of technologies on the `F33f`_`[Java Platform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_Platform]`_`f.
JavaFX targeted the `F33f`_`[Rich Internet Application`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Rich_Internet_Application]`_`f domain (competing with `F33f`_`[Adobe Flex`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Adobe_Flex]`_`f and `F33f`_`[Microsoft Silverlight`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Microsoft_Silverlight]`_`f), specializing in rapid development of visually rich applications for the desktop and mobile markets. JavaFX Script works with `F33f`_`[integrated development environments`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Integrated_development_environment]`_`f such as `F33f`_`[NetBeans`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=NetBeans]`_`f, `F33f`_`[Eclipse`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Eclipse_(software)]`_`f and `F33f`_`[IntelliJ IDEA`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=IntelliJ_IDEA]`_`f. JavaFX is released under the `F33f`_`[GNU General Public License`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=GNU_General_Public_License]`_`f, via the Sun sponsored `F33f`_`[OpenJFX`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=OpenJFX]`_`f project.
>>Contents
• `F0af`_`[History`#history]`_`f
• `F0af`_`[Features`#features]`_`f
• `F0af`_`[Syntax`#syntax]`_`f
• `F0af`_`[See also`#see-also]`_`f
• `F0af`_`[References`#references]`_`f
• `F0af`_`[Bibliography`#bibliography]`_`f
• `F0af`_`[External links`#external-links]`_`f
-─
>>History
JavaFX Script used to be called `!F3`! for `!F`!orm `!F`!ollows `!F`!unction. F3 was primarily developed by Chris Oliver, who became a `F33f`_`[Sun`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Sun_Microsystems]`_`f employee through their acquisition of `F33f`_`[SeeBeyond Technology Corporation`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=SeeBeyond_Technology_Corporation]`_`f in September 2005.
Its name was changed to JavaFX Script, and it became `F33f`_`[open sourced`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Open_source]`_`f at `F33f`_`[JavaOne`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaOne]`_`f 2007.
JavaFX 1.0 was released on December 4, 2008.`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f] On September 10, 2010 Oracle announced at `F33f`_`[JavaOne`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaOne]`_`f that JavaFX Script would be discontinued, although the JavaFX API would be made available to other languages for the Java Virtual Machine.`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f]
On September 27, 2010 Stephen Chin announced Visage a declarative user-interface language based on the JavaFX Script with enhancements.`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f]
On April 8, 2012 a project was created with the intention of resurrecting and enhancing the original F3 programming language, but the project appears to have been discontinued in August 2015.`:cite-ref-4[`F5bf`_`[4`#cite-note-4]`_`f]
>>Features
JavaFX Script was a compiled, `F33f`_`[statically typed`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Type_system]`_`f, `F33f`_`[declarative`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Declarative_programming_language]`_`f `F33f`_`[scripting language`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Scripting_language]`_`f for the `F33f`_`[Java Platform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_Platform]`_`f. It provided automatic data-binding, mutation triggers and declarative animation, using an expression language syntax (all code blocks potentially yield values.)
Through its standard `F33f`_`[JavaFX`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaFX]`_`f APIs it supported `F33f`_`[retained mode`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Retained_mode]`_`f vector graphics, video playback and standard `F33f`_`[Swing`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Swing_(Java)]`_`f components.
Although F3 began life as an `F33f`_`[interpreted language`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Interpreted_language]`_`f, prior to the first preview release (Q3 2008) JavaFX Script had shifted focus to being predominantly compiled. Interpreted JavaFX Script is still possible, via the `F33f`_`[JSR 223`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JSR_223]`_`f 'Scripting for Java' bridge. Because it is built on top of the `F33f`_`[Java Platform`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_Platform]`_`f, it is easy to use `F33f`_`[Java`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_(programming_language)]`_`f classes in JavaFX Script code. Compiled JavaFX Script was able to run on any platform that has a recent `F33f`_`[Java Runtime`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_Runtime_Environment]`_`f installed.
>>Syntax
JavaFX Script's declarative style for constructing user interfaces can provide shorter and more readable source code than the more verbose series of method calls required to construct an equivalent interface if written in JavaFX Script's procedural style.
Here is a simple `F33f`_`[Hello world program`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Hello_world_program]`_`f for JavaFX Script :
`B100`F9d9 import javafx.stage.Stage;`f`b
`B100`F9d9 import javafx.scene.Scene;`f`b
`B100`F9d9 import javafx.scene.text.Text;`f`b
`B100`F9d9 import javafx.scene.text.Font;`f`b
`B100`F9d9`f`b
`B100`F9d9 Stage {`f`b
`B100`F9d9 title: "Hello World"`f`b
`B100`F9d9 width: 250`f`b
`B100`F9d9 height: 80`f`b
`B100`F9d9 scene: Scene {`f`b
`B100`F9d9 content: Text {`f`b
`B100`F9d9 font : Font {`f`b
`B100`F9d9 size : 24`f`b
`B100`F9d9 }`f`b
`B100`F9d9 x: 10, y: 30`f`b
`B100`F9d9 content: "Hello World"`f`b
`B100`F9d9 }`f`b
`B100`F9d9 }`f`b
`B100`F9d9 }`f`b
It shows the following window/frame :
This program can also be written in JavaFX Script using a procedural style this way:
`B100`F9d9 import javafx.stage.Stage;`f`b
`B100`F9d9 import javafx.scene.Scene;`f`b
`B100`F9d9 import javafx.scene.text.Text;`f`b
`B100`F9d9 import javafx.scene.text.Font;`f`b
`B100`F9d9`f`b
`B100`F9d9 var myFont:Font = Font.font(null, 24);`f`b
`B100`F9d9`f`b
`B100`F9d9 var myText:Text = new Text();`f`b
`B100`F9d9 myText.font = myFont;`f`b
`B100`F9d9 myText.x = 10;`f`b
`B100`F9d9 myText.y = 30;`f`b
`B100`F9d9 myText.content = "Hello World";`f`b
`B100`F9d9`f`b
`B100`F9d9 var myScene:Scene = new Scene();`f`b
`B100`F9d9 myScene.content = myText;`f`b
`B100`F9d9`f`b
`B100`F9d9 var myStage:Stage = new Stage();`f`b
`B100`F9d9 myStage.title = "Hello World";`f`b
`B100`F9d9 myStage.width = 250;`f`b
`B100`F9d9 myStage.height = 80;`f`b
`B100`F9d9 myStage.scene = myScene;`f`b
>>See also
• `F33f`_`[Java applet`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Java_applet]`_`f, a means of deploying Java applications inside a web page.
• `F33f`_`[JavaFX`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=JavaFX]`_`f, a family of products and technologies intended to be used to create `F33f`_`[Rich Internet Applications (RIAs)`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Rich_Internet_application]`_`f.
• `F33f`_`[Swing`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Swing_(Java)]`_`f, the underlying user interface library employed by JavaFX Script.
• `F33f`_`[Curl (programming language)`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Curl_(programming_language)]`_`f, also with a declarative mode with optional typing
>>References
`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f "Sun Microsystems Unveils JavaFX 1.0 with Immersive Media Capabilities Targeted at Market's 800 Million Java Powered Desktops". 2008-12-04.
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f JavaFX 2010-2011 Roadmap Archived 2010-10-29 at the `F33f`_`[Wayback Machine`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Wayback_Machine]`_`f
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f "Steve On Java » Announcing Visage – The DSL for Writing UIs". `*steveonjava.com`*. Archived from the original on 2010-10-01.
`:cite-note-4`!4.`! `F0af`_`[↑`#cite-ref-4]`_`f `:citerefunktomi2022`aunktomi (2022-07-31), `*unktomi/form-follows-function`*, retrieved 2023-03-30
>>Bibliography
• `:citerefmorris2009`aMorris, Simon (November 23, 2009), `*JavaFX in Action`*, `F33f`_`[Manning`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Manning_Publications]`_`f, p. 375, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-1-933988-99-3
• `:citereftopley2009`aTopley, Kim (October 12, 2009), `*JavaFX Developer's Guide`*, `F33f`_`[Addison-Wesley Professional`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Addison-Wesley_Professional]`_`f, p. 640, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-0-321-60165-0
• `:citerefweavergaochiniverson2009`aWeaver, James L.; Gao, Weiqi; Chin, Stephen; Iverson, Dean (June 22, 2009), `*Pro JavaFX Platform: Script, Desktop and Mobile RIA with Java Technology`*, `F33f`_`[Apress`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Apress]`_`f, p. 500, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-1-4302-1875-3, archived from the original on August 15, 2009, retrieved August 2, 2009
• `:citerefclarkeconnorsj-bruno2009`aClarke, Jim; Connors, Jim; J. Bruno, Eric (June 15, 2009), `*JavaFX: Developing Rich Internet Applications`*, `F33f`_`[Prentice Hall`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Prentice_Hall]`_`f, p. 384, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-0-13-701287-9
• `:citerefandersonanderson2009`aAnderson, Gail; Anderson, Paul (June 15, 2009), `*Essential JavaFX`*, `F33f`_`[Prentice Hall`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Prentice_Hall]`_`f, p. 360, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-0-13-704279-1
• `:citerefweaver2009`aWeaver, James L. (May 4, 2009), `*JavaFX Script: Dynamic Java Scripting for Rich Internet/Client-side Applications`*, `F33f`_`[Apress`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Apress]`_`f, p. 200, `F33f`_`[ISBN`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=ISBN_(identifier)]`_`f 978-1-59059-945-7, archived from the original on March 23, 2012, retrieved August 2, 2009
>>External links
• JavaFX Main Site Archived 2011-07-13 at the `F33f`_`[Wayback Machine`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Wayback_Machine]`_`f
• Sun's JavaFX overview
• Chris Oliver's blog, F3 category Archived 2013-12-12 at the `F33f`_`[Wayback Machine`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Wayback_Machine]`_`f
• James Weaver's Learn JavaFX Weblog
• Sun.com - Learning JavaFX Script: An Introduction for Java Programmers
• Sun Plans Version of Java for Web-Linked Cellphones (`F33f`_`[New York Times`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=New_York_Times]`_`f article)
• Sun tries again with consumer-flavored Java at `F33f`_`[archive.today`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Archive.today]`_`f (archived 2013-01-19) (`F33f`_`[CNET`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=CNET]`_`f article)
• Planet JFX Community Wiki (how-to's, code samples, tutorials)
`c`F0af`_`[↑ Back to top`#top]`_`f`a